package com.asiainfo.iam.entity.vo;
import lombok.Data;

import java.util.List;

/**
 * 获取用户信息接口返回的data类型
 */
@Data
public class UserInfoVo {
    private Long id;             // 用户ID
    private String userName;     // 用户名
    private String account;      // 账号
    private Integer gender;      // 性别（1男/0女）
    private Integer sortNo;      // 排序号
    private Integer state;       // 是否启用（1是/0否）
    private OrgVo org;           // 所属组织
    private List<RoleVo> roles;  // 角色列表
}
// 组织信息
@Data
class OrgVo {
    private Long id;             // 机构ID
    private String parentCode;   // 父级机构编码
    private String orgName;      // 组织名称
    private String orgCode;      // 组织编码
    private Integer sortNo;      // 序号
}

// 角色信息
@Data
class RoleVo {
    private Integer roleId;      // 角色ID
    private String roleCode;     // 角色编码
    private String roleName;     // 角色名称
    private List<SubSystemVo> subSystems; // 子系统列表
}

// 子系统信息
@Data
class SubSystemVo {
    private String subSystemName; // 子系统名称
    private String subSystemCode; // 子系统编码
    private List<SubSystemRoleVo> subSystemRoles; // 子系统角色
}

// 子系统角色信息
@Data
class SubSystemRoleVo {
    private String subSystemRoleName; // 子系统角色名称
    private String subSystemRoleCode; // 子系统角色编码
}
